home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / util / misc / Fudgit233.lha / Source / src / code.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-14  |  2.5 KB  |  60 lines

  1. #define NSTACK 1024
  2. #define NPROG 2048
  3. #define NFRAME 512
  4.  
  5. #ifndef CODETYPE
  6. typedef void Code;
  7. #define CODETYPE
  8. #endif
  9. typedef Code (*Inst)(void);
  10.  
  11. typedef union Datum {
  12.     double val;
  13.     Symbol *sym;
  14.     char *str;
  15. } Datum;
  16.  
  17. extern Datum Ft_pop(void);
  18. extern Code Ft_nullpop(void);
  19.  
  20. #define STOP (Inst) 0
  21. extern Inst *Ft_Progp;
  22. extern Inst *Ft_Progbase;
  23. extern Inst *Ft_code(Inst f), *Ft_dblcode(double d);
  24.  
  25. extern Code Ft_eval(void), Ft_add(void), Ft_sub(void), Ft_mul(void);
  26. extern Code Ft_div(void), Ft_negate(void), Ft_power(void), Ft_modulo(void);
  27. extern Code Ft_assign(void), Ft_eassign(void), Ft_bltin0(void);
  28. extern Code Ft_bltin1(void), Ft_bltin1vec(void), Ft_bltin2(void);
  29. extern Code Ft_varpush(void), Ft_constpush(void), Ft_pushnull(void);
  30. extern Code Ft_strassign(void), Ft_streq(void), Ft_strne(void);
  31. extern Code Ft_eeval(void), Ft_preieval(void), Ft_predeval(void);
  32. extern Code Ft_postieval(void), Ft_postdeval(void);
  33. extern Code Ft_preiargpush(void), Ft_predargpush(void);
  34. extern Code Ft_postiargpush(void), Ft_postdargpush(void);
  35. extern Code Ft_le(void), Ft_gt(void), Ft_lt(void), Ft_eq(void), Ft_ne(void);
  36. extern Code Ft_ge(void), Ft_gt(void), Ft_and(void), Ft_or(void), Ft_not(void);
  37. extern Code Ft_ifcode(void), Ft_whilecode(void), Ft_forcode(void);
  38. extern Code Ft_strpush(void), Ft_streval(void), Ft_strsub(void), Ft_stradd(void);
  39. extern Code Ft_prexpr(void), Ft_prstr(void), Ft_strbltin2(void);
  40. extern Code Ft_linprexpr(void), Ft_linprnl(void), Ft_linprstr(void);
  41. extern Code Ft_addassign(void), Ft_mulassign(void), Ft_divassign(void), Ft_subassign(void);
  42. extern Code Ft_eaddassign(void), Ft_emulassign(void), Ft_edivassign(void), Ft_esubassign(void);
  43. extern Code Ft_funcret(void), Ft_procret(void), Ft_call(void);
  44. extern Code Ft_define(Symbol *sp), Ft_chkfunc(int type, Symbol *sp), Ft_breakit(void);
  45. extern Code Ft_bltin0str(void), Ft_bltin2str(void), Ft_bltin1str(void);
  46. extern Code Ft_vecloop(void), Ft_parloop(void);
  47. extern Code Ft_pushvectype(void), Ft_pushexprtype(void), Ft_pushstrtype(void);
  48. extern Code Ft_pushavectype(void), Ft_pushastrtype(void), Ft_pushpartype(void);
  49. extern Code Ft_argaddassign(void), Ft_argmulassign(void);
  50. extern Code Ft_argdivassign(void), Ft_argsubassign(void);
  51. extern Code Ft_argassign(void), Ft_argvarpush(void), Ft_argpush(void);
  52. extern Code Ft_boost(void), Ft_restore(void), Ft_strmake(void), Ft_vecmake(void);
  53. extern Code Ft_extcall(void);
  54.  
  55. extern void Ft_initcode(void), Ft_initlex(), Ft_initparser(void);
  56. extern void Ft_defnonly(int type, char *string), Ft_execute(Inst *p);
  57. extern void Ft_matherror(char *, char *, int);
  58.  
  59. #define ALL (-1)
  60.